import { getToken } from '../../../utils/getToken'

Page({
  data: {
    // 社区名称
    street: '',
    // 楼/栋
    building: '',
    // 房间号
    room: '',
    // 房主姓名
    name: '',
    // 房主性别
    gender: '0',
    // 房主手机号
    mobile: '',
    // 身份证图片信息数据
    idcardFrontUrl: '',
    idcardBackUrl: '',
  },

  onLoad(options) {
    console.log('新建房屋表单接收到的数据', options)
    this.setData({
      street: options.street,
      building: options.building,
      room: options.room
    })
  },


  // 新建房屋表单提交
  handleHouseSubmit() {
    // 校验表单数据
    if (this.validateHouseData(this.data)) {

      // 表单数据处理
      const data = { ...this.data }
      // console.log('之前', JSON.stringify(data))
      data.point = this.data.street
      delete data.street
      delete data.__webviewId__
      // console.log('之后', JSON.stringify(data))
      // 提交数据到服务器
      wx.request({
        url: 'https://live-api.itheima.net/room',
        method: 'POST',
        header: {
          Authorization: 'Bearer ' + getToken()
        },
        data: data,
        success: (res) => {
          console.log('表单提交res', res)
          wx.navigateBack({ delta: 4 })
        }
      })
      // wx.showToast({
      //   title: '提交数据吧',
      // })
    }

  },

  // 房屋表单数据校验
  validateHouseData(data) {
    console.log('房屋表单数据校验', data)
    // 姓名校验：空-长度-汉字
    if (!data.name.trim()) {
      wx.showToast({
        title: '姓名不能为空',
        icon: 'none'
      })
      return false
    }
    const nameReg = /^[\u4e00-\u9fa5]{2,5}$/
    if (!nameReg.test(data.name.trim())) {
      wx.showToast({
        title: '姓名格式错误',
        icon: 'none'
      })
      return false
    }
    // 手机号校验：空-长度-数字
    if (!data.mobile.trim()) {
      wx.showToast({
        title: '手机号不能为空',
        icon: 'none'
      })
      return false
    }
    const mobileReg = /^[1][3-8][0-9]{9}$/
    if (!mobileReg.test(data.mobile.trim())) {
      wx.showToast({
        title: '手机号格式错误',
        icon: 'none'
      })
      return false
    }
    // 身份证照片校验：空
    if (!data.idcardFrontUrl.trim()) {
      wx.showToast({
        title: '身份证人像面为空',
        icon: 'none'
      })
      return false
    }
    if (!data.idcardBackUrl.trim()) {
      wx.showToast({
        title: '身份证国徽面为空',
        icon: 'none'
      })
      return false
    }
    // 表单数据没有问题
    console.log('表单数据没有问题')
    return true;
  },

  // 选择身份证图片事件处理函数
  async handleUploadIdCardTap(e) {
    console.log(e)
    // 从用户手机上选择图片
    const result = await wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sizeType: ['compressed']
    })
    console.log(result)
    // 上传图片到你们公司服务器
    wx.uploadFile({
      filePath: result.tempFiles[0].tempFilePath,
      name: 'file',
      url: 'https://live-api.itheima.net/upload',
      header: {
        Authorization: 'Bearer ' + getToken()
      },
      success: (res) => {
        console.log('=======', res)
        const parseData = JSON.parse(res.data)
        // 数据是否异常的判断
        if (parseData.code !== 10000) {
          return wx.showToast({
            title: parseData.message,
          })
        }
        // 设置页面数据
        this.setData({
          [e.mark.type]: parseData.data.url
        })
      }
    })
  },



  removePicture(ev) {
    // 移除图片的类型（身份证正面或反面）
    const type = ev.mark?.type;
    this.setData({
      [type]: ''
    });
  },
});
